<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据类型</title>
</head>
<body>
    <script>
        /* 1.js一共有多少种数据类型？
         9种:string number boolean ull undefined symbol object Array Function
         */

        /*2.js检测数据类型有哪些方法？
           typeof:可以检测出 boolean number string undefined和function,对于null array object 都检测为obect
           instanceof:不能判断null 和undefined 且对于不是new声明的变量也无法判断。
           object.prototype.tostring.call: 比较全面，都可以判断
        */

       /*3.undefined 和null的区别？用typeof检测他们分别返回什么值？
          undefined:在js中是一个没有设置值的量，可以设置变量为undefined来清空该变量。使用typeof检测会返回undefined
          null：在js中表示什么都没有，是一个只有一个值的特殊类型，可以设置变量为null来销该变量，使用typeof检测会返回object.
       */

      /*4.写出下列对应的结果
          var str = "0"; 
          var str1 = "";
          var str2 = " ";
          var unde = undefined;
          var nu = null;
          var num = 0;
          var num1 = -10;

          Boolean(str); true
          Boolean(str1);fales
          Boolean(str2); true
          Boolean(unde); fales
          Boolean(nu); fales
          Boolean(num);fales
          Boolean(num1); true
      */

     /*5.写出下列对应的结果  注意：需要分别使用Number,string,tostring去转换数据类型
        var str = "0";
        var num = -10;
        var flag = true;
        var ud = undefined;
        var nu = null;
        使用Number转换对应的：0 -10 1 NaN 0
        使用String转换对应的："0" "-10" "true" "undefined" "null"
        使用toString转换对应的: "0" "-10" "true" 报错   报错  
     */

    /*6.检测下面的变量各自的数据类型
        var str = ""         
        var num = "-10"
        var num1 = 0;
        var nu = undefined;
        var nu1 = "undefined"
        var nu1 = "null"
        var nu2 = null;
        var obj = "{}"
        var obj1 = {};

        null String number undedined String String null String object
        */
       
    </script>
</body>
</html>